A resistive random access memory (ReRAM), a phase-change random access memory (PCRAM), and a magneto-resistive random access memory (MRAM) each include a variable resistance element of some type in each memory cell. These various memory types are being developed as next generation nonvolatile semiconductor memory devices.